Method and system for diagnosing autonomous vehicles

ABSTRACT

A method and system for diagnosing autonomous vehicles is disclosed. The method includes identifying anomaly in a set of navigation parameters from a plurality of navigation parameters associated with the autonomous vehicle, such that each of the set of navigation parameters is above an associated risk threshold. The method further includes validating anomaly identified for each of the set of navigation parameters. The method includes generating a set of quality parameters for the set of navigation parameters in response to validating anomaly in the set of navigation parameters. The method further includes generating values of at least one motion parameter associated with the autonomous vehicle based on values of each of the set of quality parameters fed into a trained Artificial Intelligence (AI) model. The method includes controlling the at least one motion parameter based on the generated values.

TECHNICAL FIELD

This disclosure relates generally to autonomous vehicles, and moreparticularly to method and system for diagnosing autonomous vehicles.

BACKGROUND

Autonomous vehicles are one of the rapidly evolving automotive vehicletechnologies. Autonomous vehicles include multiple sensors and anon-board sensor data processing unit, which are responsible for enablingits autonomous operation. These sensors equipped in autonomous vehiclesare responsible for sensing vehicle parameters and environment in orderto ensure or enable secure navigation of autonomous vehicles withoutrequiring human input. Thus, any fault or failure of these sensors orany part of the autonomous vehicles may lead to an unexpectedeventuality.

Some conventional technologies may be capable of detecting such faultsand failures related to sensors within the autonomous vehicle. However,these conventional technologies cannot monitor vehicle behavior, crossverify if such vehicle behavior is related to vehicle health, and thendetermine various compensating motion parameter values using machinelearning models.

SUMMARY

In an embodiment, a method for diagnosing autonomous vehicles on acurrent navigation path is disclosed. In one embodiment, the method mayinclude identifying, by a diagnosis device, anomaly in a set ofnavigation parameters from a plurality of navigation parametersassociated with the autonomous vehicle. Each of the set of navigationparameters is above an associated risk threshold. The method may furtherinclude validating, by the diagnosis device, anomaly identified for eachof the set of navigation parameters. The method may include generating,by the diagnosis device, a set of quality parameters for the set ofnavigation parameters in response to validating anomaly in the set ofnavigation parameters. The set of quality parameters are generated fromat least one of the plurality of navigation parameters. The method mayfurther include generating, by the diagnosis device, values of at leastone motion parameter associated with the autonomous vehicle based onvalues of each of the set of quality parameters fed into a trainedArtificial Intelligence (AI) model. The method may include controlling,by the diagnosis device, the at least one motion parameter based on thegenerated values for the at least one motion parameter.

In another embodiment, a system for diagnosing autonomous vehicles on acurrent navigation path is disclosed. The system includes a processorand a memory communicatively coupled to the processor, wherein thememory stores processor instructions, which, on execution, causes theprocessor to identify anomaly in a set of navigation parameters from aplurality of navigation parameters associated with the autonomousvehicle, wherein each of the set of navigation parameters is above anassociated risk threshold. The processor instructions further causes theprocessor to validate anomaly identified for each of the set ofnavigation parameters. The processor instructions causes the processorto generate a set of quality parameters for the set of navigationparameters in response to validating anomaly in the set of navigationparameters, wherein the set of quality parameters are generated from atleast one of the plurality of navigation parameters. The processorinstructions further causes the processor to generate values of at leastone motion parameter associated with the autonomous vehicle based onvalues of each of the set of quality parameters fed into a trained AImodel. The processor instructions causes the processor to control the atleast one motion parameter based on the generated values for the atleast one motion parameter.

In yet another embodiment, a non-transitory computer-readable storagemedium is disclosed. The non-transitory computer-readable storage mediumhas instructions stored thereon, a set of computer-executableinstructions causing a computer comprising one or more processors toperform steps comprising identifying anomaly in a set of navigationparameters from a plurality of navigation parameters associated with theautonomous vehicle, wherein each of the set of navigation parameters isabove an associated risk threshold; validating anomaly identified foreach of the set of navigation parameters; generating a set of qualityparameters for the set of navigation parameters in response tovalidating anomaly in the set of navigation parameters, wherein the setof quality parameters are generated from at least one of the pluralityof navigation parameters; generating values of at least one motionparameter associated with the autonomous vehicle based on values of eachof the set of quality parameters fed into a trained AI model; andcontrolling the at least one motion parameter based on the generatedvalues for the at least one motion parameter.

It is to be understood that both the foregoing general description andthe following detailed description are exemplary and explanatory onlyand are not restrictive of the invention, as claimed.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings, which are incorporated in and constitute apart of this disclosure, illustrate exemplary embodiments and, togetherwith the description, serve to explain the disclosed principles.

FIG. 1 is a block diagram illustrating a system for diagnosingautonomous vehicles, in accordance with an embodiment.

FIG. 2 illustrates a functional block diagram of various modules withina memory of a diagnosis device configured to diagnose autonomousvehicles, in accordance with an embodiment.

FIG. 3 illustrates a flowchart of a method for diagnosing an autonomousvehicle on a current navigation path, in accordance with an embodiment.

FIG. 4 illustrates a flowchart of a method for determining number ofinstances when each of a set of navigation parameters crosses anassociated risk threshold, in accordance with an embodiment.

FIG. 5 illustrates a flowchart of a method for generating a warning anda trajectory plan for an autonomous vehicle based on a diagnosis of theautonomous vehicle, in accordance with an embodiment.

FIG. 6 depicts a trained AI model providing adjustable parameters forvarious error categories, in accordance with an exemplary embodiment.

FIGS. 7A-7D illustrate graphs that are used for identification of a setof navigation parameters associated with an autonomous vehicle, inaccordance with an exemplary embodiment.

FIG. 8 illustrates a block diagram of an exemplary computer system forimplementing embodiments consistent with the present disclosure.

DETAILED DESCRIPTION

Exemplary embodiments are described with reference to the accompanyingdrawings. Wherever convenient, the same reference numbers are usedthroughout the drawings to refer to the same or like parts. Whileexamples and features of disclosed principles are described herein,modifications, adaptations, and other implementations are possiblewithout departing from the spirit and scope of the disclosedembodiments. It is intended that the following detailed description beconsidered as exemplary only, with the true scope and spirit beingindicated by the following claims. Additional illustrative embodimentsare listed below.

In one embodiment, a system 100 for diagnosing autonomous vehicles isillustrated in FIG. 1. It will be apparent to a person skilled in theart that the system 100 may be included within an autonomous vehicle(not shown in FIG. 1). The system 100 may include a diagnosis device 102that has the processing capabilities for diagnosing an autonomousvehicle in order to identify an anomaly in a set of navigationparameters for the autonomous vehicle and subsequently generate controlparameters or motion parameters associated with the autonomous vehicleto resolve the anomaly. Examples of the diagnosis device 102 mayinclude, but are not limited to a server, a desktop, a laptop, anotebook, a netbook, a tablet, a smartphone, or a mobile phone.

The set of navigation parameters may include, but is not limited to, arate of change in steering speed, acceleration and breaking time of theautonomous vehicle, proximity of autonomous vehicle with nearbyvehicles, and attributes associated with a tracked path. In anembodiment, the anomaly identified in the set of navigation parametersmay correspond to any deviation of each of the set of navigationparameters from an associated risk threshold. In other words, theanomaly may indicate deviation of the autonomous vehicle from what isstandard, normal, or expected. By way of an example, an anomaly mayinclude, but is not limited to an abrupt change in the steering angle orlinear acceleration, continuous close proximity of a rear vehicle,frequent close proximity with objects, and a very high rate of change oforientation of the autonomous vehicle.

The diagnosis device 102 may receive a plurality of navigationparameters from a plurality of sensors 104 placed at various locationswithin the autonomous vehicle. By way of an example, the plurality ofsensors 104 may include, but are not limited to, an Inertial MeasurementUnit (IMU), a vision sensor, an ultrasonic sensor, a camera sensor, aLight Detection and Ranging (LiDAR) sensor, or a Radar. The plurality ofsensors 104 may be communicatively coupled to the diagnosis device 102,via a network 106. The network 106 may be a wired or a wireless networkand the examples may include, but are not limited to the Internet,Wireless Local Area Network (WLAN), Wireless Fidelity (Wi-Fi), Long TermEvolution (LTE), Worldwide Interoperability for Microwave Access(WiMAX), Fifth Generation (5G) network, and General Packet Radio Service(CPRS).

As will be described in greater detail in conjunction with FIG. 2 toFIG. 6, in order to diagnose the autonomous vehicle, the diagnosisdevice 102 may include a processor 108, which may be communicativelycoupled to a memory 110. The memory 110 may store process instructions,which when executed by the processor 108 may cause the processor 108 todiagnose the autonomous vehicle. This is further explained in detail inconjunction with FIG. 2. The memory 110 may be a non-volatile memory ora volatile memory. Examples of non-volatile memory, may include, but arenot limited to a flash memory, a Read Only Memory (ROM), a ProgrammableROM (PROM), Erasable PROM (EPROM), and Electrically EPROM (EEPROM)memory. Examples of volatile memory may include, but are not limited toDynamic Random Access Memory (DRAM), and Static Random-Access memory(SRAM).

Also, the diagnosis device 102 may extract risk thresholds for variousnavigation parameters from a server 112, via the network 106, in orderto identify anomalies in the set of navigation parameters. It will beapparent to a person skilled in the art that the server 112 may beremotely located, such that, the server 112 may be accessed my multipleautonomous vehicles at any given time. In one implementation, the server112 may be located within the autonomous vehicle. Once the diagnosisdevice 102 has received the plurality of navigation parameters and theassociated risk thresholds, the diagnosis device 102 may identify theset of navigation parameters. This is further explained in detail inconjunction with FIG. 2 and FIG. 3. The server 112 may include adatabase 114 that may further include a mapping of each navigationparameter to an associated risk threshold. The database 114 may beupdated periodically with new navigation parameters and revised riskthresholds, if any.

The diagnosis device 102 may further include a display 116 that mayfurther include a user interface 118. A user or an administrator mayinteract with the diagnosis device 102 and vice versa through thedisplay 116. The display 116 may be used to display a result ofdiagnosis of the autonomous vehicle performed by the diagnosis device102. The user interface 118 may be used by the user to provide inputs tothe diagnosis device 102.

Referring now to FIG. 2, a functional block diagram of various moduleswithin the memory 110 of the diagnosis device 102 configured to diagnoseautonomous vehicles is illustrated, in accordance with an embodiment. Asexplained in conjunction with FIG. 1, the diagnosis device 102 maydiagnose an autonomous vehicle in order to identify an anomaly in a setof navigation parameters for the autonomous vehicle and subsequentlygenerate control parameters or motion parameters associated with theautonomous vehicle to resolve the identified anomaly. The memory 110 mayinclude a navigation initiator module 202, a navigation data mining andbehavior analysis module 204, a warning generation and guidance module206, a path planning module 208, a trajectory planning and velocitygeneration module 210, and a vehicle localization module 212.

In an embodiment, the navigation initiator module 202 may act as a userinterface for displaying a navigation map to a user of the autonomousvehicle. As a result, the user may touch any point on the navigation mapdisplayed via the user interface to select a destination point andinitiate the navigation process for the autonomous vehicle from itscurrent location. The navigation process may include path planning andvelocity generation to autonomously drive the autonomous vehicle to thedestination point. By way of an example, the navigation initiator module202 may provide a part of the global path to the autonomous vehicle, inorder to initiate motion of the autonomous vehicle from the currentlocation. The part of the global path may include a navigation path of10 to 20 meters ahead of the autonomous vehicle,

Once the navigation process is initiated, the navigation data mining andbehavior analysis module 204 may analyze navigation behavior of theautonomous vehicle. The navigation behavior of the autonomous vehiclemay be determined based on navigation behavior data collected over aperiod of time. The navigation behavior data may correspond to aplurality of navigation parameters. By way of an example, the pluralityof navigation parameters may include, but are not limited to a rate ofchange in steering speed, an acceleration and breaking time of theautonomous vehicle, a proximity of autonomous vehicle with nearbyvehicles, and attributes associated with a tracked path.

In an embodiment, the plurality of navigation parameters may be analyzedto determine multiple distinct behavioral patterns of the autonomousvehicle. These behavioral patterns may include, but are not limited,twist handling of vehicle a proximity to other moving and nonmovingvehicles, a jerk felt inside the autonomous vehicle, a sudden variationin the speed of the autonomous vehicle, and smoothness of the pathfollowed by the autonomous vehicle. In an embodiment, the navigationdata mining and behavior analysis module 204 may compare each of theplurality of navigation parameters with associated risk thresholds.Based on the comparison, the navigation data mining and behavioranalysis module 204 may identify anomaly in a set of navigationparameters from the plurality of navigation parameters, such that, eachof the set of navigation parameters is above an associated riskthreshold. The identified anomalies are then represented as thebehavioral patterns described above.

By way of an example, for the navigation parameter of rate of change insteering speed, the rate of change of steering angle at a critical pointof safe maintenance distance (even close proximity to objects) mayindicate the autonomous vehicle's planned and sudden maneuvering. By wayof another example, for the navigation parameter of an acceleration andbreaking time of the autonomous vehicle, an acceleration and breakinggraph may be observed to determine an unprovoked rash driving scenario.An exemplary graph depicting change in steering angle and change inlinear acceleration of the autonomous vehicle is illustrated in theexemplary embodiment of FIG. 7A. This may be cross verified based onproximity data collected from other sensors. By way of yet anotherexample, for the navigation parameter of proximity of autonomous vehiclewith nearby vehicles, a comprehensive object proximity graph may beanalyzed to determine if the autonomous vehicle is within a thresholdrange related to presence of nearby objects. The object proximity graphmay be determined using data collected by vision sensors and othersensors during vehicle journey. An exemplary graph depicting laneoccupancy and vehicle proximity for the autonomous vehicle isillustrated in the exemplary embodiments of FIG. 7B and FIG. 7C. At agiven instance, product of all distance determine criticality of vehicleproximity. Lesser value of such distance may indicate that autonomousvehicle has reached more critical position. By way of another example,for the navigation parameter of attributes associated with a trackedpath, smoothness of the tracked path in terms of left and right rotationof the autonomous vehicle may be observed. An exemplary graph depictingsmoothness of tracked path for the autonomous vehicle is illustrated inthe exemplary embodiment of FIG. 7D.

Thereafter, the warning generation and guidance module 206 may furtheranalyze the set of navigation parameters to determine if the identifiedanomalies in the set of navigation parameters is persistent or is just atemporal occurrence. In an embodiment, the identified anomaly in anavigation parameter is determined to be persistent or temporal based onthe number of repetition of the identified anomaly. Persistence of ananomaly in a navigation parameter is established, when the number ofinstances where the navigation parameter crosses an associated riskthreshold is above an associated reoccurrence threshold.

Once persistence or permanence of anomaly identified for the set ofnavigation parameters is established, the warning generation andguidance module 206 may validate the anomaly identified for each of theset of navigation parameters by evaluating an associated data. By way ofan example, the data may include, but is not limited to validation ofthe IMU sensor data with a camera sensor data, validation of a camerasensor data with a vision sensor data, and validation of vision sensordata with the IMU sensor data and vice versa. The warning generation andguidance module 206 may also generate a warning in response tovalidation of identified anomaly for each of the set of navigationparameters. The warning generation and guidance module 206 may thenrender the generated warning to a user of the autonomous vehicle, viathe navigation initiator module 202, for example.

After validation of the identified anomaly in the set of navigationparameters, the warning generation and guidance module 206 generates aset of quality parameters based on one or more of the plurality ofnavigation parameters. By way of an example, the set of qualityparameters may include, but is not limited to a wheel and steering jointquality, a proximity encounter direction, level of proximity encounter,a quality of perception, and a load current slope.

The warning generation and guidance module 206 may feed the set ofquality parameters into a trained Artificial Intelligence (AI) model.The training of the AI model is explained in detail in conjunction withFIG. 6. The trained AI model may then generate values of one or moremotion parameters associated with the autonomous vehicle based on valuesof each of the set of quality parameters. The values of one or moremotion parameters may correspond to a response generated for each of theset of quality parameters. Examples of one or more motion parameters mayinclude, but are not limited to adjusting speed for motion plan,adjusting steepness on turn, a lane shift priority, a perception faultand safe parking, and an adjustment code for vision sensor priority.

As an example of identifying and subsequently validation anomaly in anavigation parameter, generating one or more quality parameters, andfinally generating values for one or more motion parameters by thetrained AI model based on the values of one or more quality parameters,the diagnosis device 102 may identify an abrupt steering angle change orlinear acceleration change measured via an IMU sensor. In other words,the diagnosis device 102 may identify an anomaly in steering angle andlinear acceleration. The diagnosis device 102 may cross validate theanomaly thus identified using map data for path nature, a camera sensordata for road quality (for example, presence of potholes or roughsurface), and nearby vehicle motion record using a Kalman filter. Basedon the cross validation, the diagnosis device 102 may determine that theautonomous vehicle itself is the cause for abrupt steering or linearacceleration. Thereafter, the diagnosis device 102 may determine thequality parameters, i.e., wheel joint quality and steering jointquality, for the autonomous vehicle, based on equations 1 and 2 givenbelow:

SJq=(Ms*Ns)/T   (1)

WJq=(Mw*Nw)/T   (2)

Where,

SJq=Steering joint quality,

WJq=Wheel joint quality,

M=Abruption magnitude,

N=Number of gear jumps,

s=steering,

w=wheel, and

T=Pre-determined time period.

The diagnosis device 102 may feed the values of SJq and WJq into thetrained AI model, which may generate a trigger for further motion planof the autonomous vehicle on low speed, as one or more mechanical orelectrical parts of the autonomous vehicle may not be able to handlehigh speed motion plan.

By way of another example, the diagnosis device 102 may identify closeproximity of rear vehicle to the autonomous vehicle that may bemeasured, via an ultrasonic sensor, as an anomaly. In order to validatethe anomaly, the diagnosis device 102 may use LIDAR based tracking ofvehicle in close proximity of the autonomous vehicle using Kalmanfilter, in order to determine the reason of close proximity of suchvehicles. Based on the validation, the diagnosis device 102 maydetermine that the autonomous vehicle itself is the reason of closeproximity. Thus, the diagnosis device 102 may determine one or morequality parameters, i.e., a proximity encounter direction, i.e., Dp. Thevalue of Dp may be 0 for front, 1 for left, 2 for right, and 3 for back.The diagnosis device 102 may feed value determined for Dp into thetrained AI model, which may generate guidance on trajectory planningparameters in order to reduce steepness in lane transition trajectoryplan for the autonomous vehicle.

By way of yet another example, the diagnosing device 102 may identifyfrequent close proximity of objects to the autonomous vehicle, measuredvia an ultrasonic sensor, as an anomaly. The diagnosis device 102 maythen validate the anomaly by analyzing the tachometers reading to checkwhether the autonomous vehicle is moving at a slow speed on an expresslane having a minimum permissible vehicle speed. The diagnosis device102 may further validate the anomaly by analyzing camera data. Forexample, the camera data may be analyzed to check for any particularweather condition that may encourage fast driving, and the autonomousvehicle may not be doing so. Based on validation of the anomaly, thediagnosis device 102 may determine that the anomaly is due to a fault inthe autonomous vehicle. Thereafter, the diagnosis device 102 maydetermine one or more quality parameters, i.e., a level of proximityencounter based on equation 3 given below:

Pe=Σ(Pa/Pt)/N   (3)

-   -   Where,    -   Pe is the level of proximity encounter,    -   Pa is actual proximity,    -   Pt is proximity threshold, and    -   N is the number of violations in a predetermined time period.

The diagnosis device 102 may feed values of Pe into the trained AImodel, which may generate values of control parameters to adapt speedand/or acceleration of the autonomous vehicle in order to adapt to roadconditions and any environment scenario. For example, the trained AImode may provide updated speed related parameters for trajectoryplanning of the autonomous vehicle. Alternatively, the AI model maytrigger a lane change action for the autonomous vehicle, such that, theautonomous vehicle shifts into a slow moving lane.

By way of another example, the diagnosis device 102 may identify a rateof change of orientation of the autonomous vehicle, via the IMU sensor,as an anomaly. The diagnosis device 102 may then validate the anomaly byanalyzing camera data to determine if the change in orientation (forexample, zigzag movement) was required because of the road conditions.Based on the validation, the diagnosis device 102 may determine that theanomaly is due to a fault in the autonomous vehicle. Thereafter, thediagnosis device 102 may determine one or more quality parameters, i.e.,a quality of perception and a load current slope, based on equations (4)and (5) given below:

Qp=Σ(Tz*Mz)/100   (4)

-   -   Where,    -   Op is the quality of perception,    -   Tz is the length of zigzag interval, and    -   Mz is the magnitude covering the left and right swing.

LCs=Σ(Cd)/N   (5)

-   -   Where,    -   LCs is the load current slope,    -   Cd is significant drop in current, while the autonomous vehicle        takes a turn, and    -   N is the number of time this occurred over a predetermined time        period.

The diagnosis device 102 may feed values of Qp and LCs into the trainedAI model, which may generate a warning (for example, a red alert) whenthere is perception related issue in the autonomous vehicle.Additionally, for battery and load related problems, the trained AImodel may trigger or initiate an emergency battery mode.

Each of the one or more quality parameters may correspond to an errorcategory from a plurality of error categories. The AI model is trainedbased on the plurality of error categories and the corresponding outputvalues of one or more motion parameters. This is further explained indetail in conjunction with FIG. 6.

Once the values of one or more motion parameters are generated, thewarning generation and guidance module 206 may control the one or moremotion parameters based on the determined values. In an embodiment, thetrajectory planning and velocity generation module 210 may control theone or more motion parameters. The trajectory planning and velocitygeneration module 210 may also receive inputs from the path planningmodule 208.

The path planning module 208 may produces a base path that is to be usedfor navigation of the autonomous vehicle from a current position to thedestination point. To this end, the path planning module 208 may includea path planning algorithm, for example, a Dijkstra or A*. The base pathmay be produced on a 2D occupancy grid map. For motion of the autonomousvehicle, the path planning module 208 may generate a part of the basepath that is 5 to 10 meters distance from the current position of theautonomous vehicle. The path planning module 208 may also generate asuitable trajectory plan for this part of the base path, based oncurrent environment data and speed of the autonomous vehicle. The pathplanning module 208 may share the trajectory plan with the trajectoryplanning and velocity generation module 210 and the navigationinitiation module 202 for velocity generation.

Based on inputs from the warning generation and guidance module 206 andthe path planning module 208, the trajectory planning and velocitygeneration module 210 may generate a realistic velocity for theautonomous vehicle based on a preceding velocity and a projectedvelocity as per the trajectory plan based on a trajectory-velocity plan.Additionally, the trajectory planning and velocity generation module 210may generate velocity at a predefined frequency, for example, 100 ms.The velocity may then be applied to wheel base of the autonomousvehicle. The trajectory planning and velocity generation module 210 mayadditionally analyze a next moment velocity of the autonomous vehiclefor calculation of realistic velocity for the autonomous vehicle.

The vehicle localization module 212 may determine a current position ofthe autonomous vehicle on the navigation map based on inputs receivedfrom the path planning module 208, the navigation initiator module 202,and the trajectory planning and velocity generation module 210. Based onthe position determined by the vehicle localization module 212, theautonomous vehicle may proceed on a next portion of the trajectory planwith a suitable velocity.

Referring now to FIG. 3, a flowchart of a method for diagnosing anautonomous vehicle on a current navigation path is illustrated, inaccordance with an embodiment. At step 302, the diagnosis device 102trains an AI model based on a plurality of error categories andcorresponding values of one or more motion parameters. As alreadyexplained in FIG. 2, the plurality of error categories may correspond toa set of quality parameters. Referring back to equations 1 to 5, theerror categories, for example, may include, but are not limited to,surrounding's proximity encounter level, i.e., Pe, a proximity encounterdirection, i.e., Dp, a vehicle wheel joint mechanical quality, i.e.,WJq, a vehicle steering joint mechanical quality, i.e., SJq, a load vscurrent supply graph linearity, i.e., LCs, and a perception qualitymeasure, i.e., Op. Further, examples of the one or more motionparameters may include, but are not limited to adjusted speed for motionplan of the autonomous vehicle, adjusted steepness on turns, lane shiftpriority, perception fault and safe parking, and adjustment code forvision sensors priority.

Using the plurality of sensors 104 within the autonomous vehicle, thediagnosing device 102 may record a plurality of navigation parameters onthe current navigation path, at step 304. Examples of the plurality ofsensors 104 may include, but are not limited to, IMU sensors, LiDARsensor, Radar, ultrasonic sensor, and a camera sensor. Thereafter, atstep 306, the diagnosis device 102 may identify an anomaly in a set ofnavigation parameters from the plurality of navigation parametersassociated with the autonomous vehicle. The plurality of navigationparameters may include, but are not limited to a rate of change insteering speed, an acceleration and breaking time of the autonomousvehicle, a proximity of autonomous vehicle with nearby vehicles, andattributes associated with a tracked path. Each of the plurality ofnavigation parameters have an associated risk threshold and each of theset of navigation parameters is above its associated risk threshold. Arisk threshold, for example, may correspond to a maximum limit that theautonomous vehicle may handle and resist before any technical failure.

In an embodiment, the anomaly identified in the set of navigationparameters may correspond to any deviation of each of the set ofnavigation parameters from an associated risk threshold. In other words,the anomaly may indicate deviation of the autonomous vehicle from whatis standard, normal, or expected. By way of an example, an anomaly mayinclude, but is not limited to an abrupt change in the steering angle orlinear acceleration, continuous close proximity of a rear vehicle,frequent close proximity with objects, and a very high rate of change oforientation of the autonomous vehicle.

At step 308, the diagnosis device 102 may validate the anomalyidentified for each of the set of navigation parameters, by evaluatingan associated data. The data may include, but is not limited to avalidation of the IMU sensor data with a camera sensor data, avalidation of a camera sensor data with a vision sensor data, and avalidation of vision sensor data with the IMU sensor data and viceversa.

Once the anomaly is validated, at step 310, the diagnosis device 102 maygenerate a set of quality parameters for the set of navigationparameters in response to validating the anomaly identified in the setof navigation parameters. The set of quality parameters may be generatedfrom one or more of the plurality of navigation parameters. Thegeneration of quality parameters has already been explained in detail inconjunction with FIG. 2. Some of the examples of the quality parametersare given by way of equations 1 to 5.

Thereafter, at step 312, the diagnosis device 102 may generate values ofone or more motion parameters associated with the autonomous vehiclebased on values of each of the set of quality parameters fed into atrained AI model. At step 314, the diagnosis device 102 may control theone or more motion parameters based on values generated for the one ormore motion parameters. This has already been explained in detail inconjunction with FIG. 2.

Referring now to FIG. 4, a flowchart of a method for determining numberof instances when each of a set of navigation parameters crosses theassociated risk threshold is illustrated, in accordance with anembodiment. At step 402, a number of instances when each of the set ofnavigation parameters crosses the associated risk threshold may bedetermined. Once the number of instances are determined for each of theset of navigation parameters, the number of instances for each of theset of navigation parameters may be compared with an associatedreoccurrence threshold, at step 404.

At step 406, for each of the set of navigation parameters, a check maybe performed to determine if the number of instances is greater than theassociated reoccurrence threshold. If the number of instances for eachof the set of navigation parameters is less than the associatedreoccurrence threshold, the control moves to step 402. However, if thenumber of instances is greater than the associated reoccurrencethreshold for one or more of the set of navigation parameters, a subsetof navigation parameters may be identified, at step 408, from the set ofnavigation parameters. Thereafter, at step 410, a subset of qualityparameters are generated for the subset of navigation parameters basedon one or more of the plurality of navigation parameter.

By way of this embodiment, an additional check may be performed beforevalidation of anomaly identified in the set of navigation parameters.Thus, in this embodiment, anomaly is identified for the subset ofnavigation parameters, which is then subsequently validated. Also,values of the one or more motion parameters is generated based on valuesof the subset of quality parameters fed into the AI model.

Referring now to FIG. 5, a flowchart of a method for generating awarning and a trajectory plan for an autonomous vehicle based ondiagnosis of the autonomous vehicle is illustrated, in accordance withan embodiment. At step 502, anomaly identified for each of a set ofnavigation parameters is validated, by evaluating an associated data.Once the anomaly is validated, a warning is generated, at step 504, inresponse to validation of anomaly identified for each of the set ofnavigation parameters. Thereafter, at step 506, the generated warning isrendered to a user of the autonomous vehicle. This has already beenexplained in detail in conjunction with FIG. 2.

At step 508, in response to validating anomaly in the set of navigationparameters, a set of quality parameters are generated for the set ofnavigation parameters. The set of quality parameters are generated fromone or more of the plurality of navigation parameters. At step 510,based on values of each of the set of quality parameters fed into atrained AI model, the trained AI model generates values of one or moremotion parameters associated with the autonomous vehicle. Thereafter, atstep 512, the one or more motion parameters are controlled based on thegenerated values. At step 514, in response to controlling the one ormore motion parameters, a trajectory plan is generated for theautonomous vehicle on the current navigation path. This has already beenexplained in detail in conjunction with FIG. 2.

Referring now to FIG. 6, a trained AI model 604 providing adjustableparameters for various error categories is depicted, in accordance withan exemplary embodiment. On receiving a plurality of error categories602, the trained AI model 604 may provide an appropriate output, i.e.,values of one or more motion parameters 606 that need to adjusted orcontrolled. The plurality of error categories 602 and the one or moremotion parameters 606 have already been explained in conjunction withFIG. 2. The plurality of error categories 602 may correspond to a set ofquality parameters. The plurality of error categories 602 may include,but are not limited to surrounding's proximity encounter level, i.e.,Pe, a proximity encounter direction, i.e., Dp, a vehicle wheel jointsmechanical quality, i.e., WJq, a vehicle steering joints mechanicalquality, i.e., SJq, a load vs current supply graph linearity, i.e., LCs,and a perception quality measure, i.e., Op. Further, the one or moremotion parameters 606 may include, but are not limited to adjustingspeed for motion plan, adjusting steepness on turn, a lane shiftpriority, a perception fault and safe parking, and an adjustment codefor vision sensor priority.

Thus, the trained AI model 604 is trained with forecast on the pluralityof error categories and respective levels. For each of the plurality oferror categories with different level values, values of a set of motionparameter may be annotated on output. This output parameter value may beselected, such that, it has an effect on a softer trajectory plan forthe autonomous vehicle. For example, maximum velocity (both linear andangular) may be reduced to a certain value for a particular errorcategory value. For the same error category condition, lane shiftpriority may be reduced to 40% or so. While one or more output valuesfor motion parameters may take the lead on particular error category,output values for other motion parameters may have a lower magnitude ofimpact to the trajectory plan.

For error category inputs into the AI model 604, although any errorcategory may not be exclusive, it will have some influence on one ormore other error categories. By way of an example, an abrupt orientationchange may have an impact on abruptness of steering angle. By way ofanother example, high proximity encounter level may have an impact onabrupt change in velocity of the autonomous vehicle. Considering allsuch numerous possibilities, a data set is produced taking real-timescenarios captured from data related to autonomous vehicles, in order totrain the AI model 604.

Referring now to FIG. 8, a block diagram of an exemplary computer system802 for implementing various embodiments is illustrated. Computer system802 may include a central processing unit (“CPU” or “processor”) 804.Processor 804 may include at least one data processor for executingprogram components for executing user or system-generated requests. Auser may include a person, a person using a device such as such as thoseincluded in this disclosure, or such a device itself. Processor 804 mayinclude specialized processing units such as integrated system (bus)controllers, memory management control units, floating point units,graphics processing units, digital signal processing units, etc.Processor 804 may include a microprocessor, such as AMD® ATHLON®microprocessor, DURON® microprocessor OR OPTERON® microprocessor, ARM'sapplication, embedded or secure processors, IBM® POWERPC®, INTEL'S CORE®processor, ITANIUM® processor, XEON® processor, CELERON® processor orother line of processors, etc. Processor 804 may be implemented usingmainframe, distributed processor, multi-core, parallel, grid, or otherarchitectures. Some embodiments may utilize embedded technologies likeapplication-specific integrated circuits (ASICs), digital signalprocessors (DSPs), Field Programmable Gate Arrays (FPGAs), etc.

Processor 804 may be disposed in communication with one or moreinput/output (I/O) devices via an I/O interface 806. I/O interface 806may employ communication protocols/methods such as, without limitation,audio, analog, digital, monoaural, RCA, stereo, IEEE-1394, serial bus,universal serial bus (USB), infrared, PS/2, BNC, coaxial, component,composite, digital visual interface (DVI), high-definition multimediainterface (HDMI), RF antennas, S-Video, VGA, IEEE 802.n /b/g/n/x,Bluetooth, cellular (for example, code-division multiple access (CDMA),high-speed packet access (HSPA+), global system for mobilecommunications (GSM), long-term evolution (LTE), WiMax, or the like),etc.

Using I/O interface 806, computer system 802 may communicate with one ormore I/O devices. For example, an input device 808 may be an antenna,keyboard, mouse, joystick, (infrared) remote control, camera, cardreader, fax machine, dongle, biometric reader, microphone, touch screen,touchpad, trackball, sensor (for example, accelerometer, light sensor,GPS, gyroscope, proximity sensor, or the like), stylus, scanner, storagedevice, transceiver, video device/source, visors, etc. An output device810 may be a printer, fax machine, video display (for example, cathoderay tube (CRT), liquid crystal display (LCD), light-emitting diode(LED), plasma, or the like), audio speaker, etc. In some embodiments, atransceiver 812 may be disposed in connection with processor 804.Transceiver 812 may facilitate various types of wireless transmission orreception. For example, transceiver 812 may include an antennaoperatively connected to a transceiver chip (for example, TEXAS®INSTRUMENTS WILINK WL1286® transceiver, BROADCOM® BCM4550IUB8®transceiver, INFINEON TECHNOLOGIES® X-GOLD 618-PMB9800® transceiver, orthe like), providing IEEE 802.6a/b/g/n, Bluetooth, FM, globalpositioning system (GPS), 2G/3G HSDPA/HSUPA communications, etc.

In some embodiments, processor 804 may be disposed in communication witha communication network 814 via a network interface 816. Networkinterface 816 may communicate with communication network 814. Networkinterface 816 may employ connection protocols including, withoutlimitation, direct connect, Ethernet (for example, twisted pair50/500/5000 Base T), transmission control protocol/internet protocol(TCP/IP), token ring, IEEE 802.11a/b/g/n/x, etc. Communication network814 may include, without limitation, a direct interconnection, localarea network (LAN), wide area network (WAN), wireless network (forexample, using Wireless Application Protocol), the Internet, etc. Usingnetwork interface 816 and communication network 814, computer system 802may communicate with devices 818, 820, and 822. These devices mayinclude, without limitation, personal computer(s), server(s), faxmachines, printers, scanners, various mobile devices such as cellulartelephones, smartphones (for example, APPLE® IPHONE® smartphone,BLACKBERRY® smartphone, ANDROID® based phones, etc.), tablet computers,eBook readers (AMAZON® KINDLE® ereader, NOOK® tablet computer, etc.),laptop computers, notebooks, gaming consoles (MICROSOFT® XBOX® gamingconsole, NINTENDO® DS® gaming console, SONY® PLAYSTATION® gamingconsole, etc.), or the like. In some embodiments, computer system 802may itself embody one or more of these devices.

In some embodiments, processor 804 may be disposed in communication withone or more memory devices (for example, RAM 826, ROM 828, etc.) via astorage interface 824. Storage interface 824 may connect to memory 830including, without limitation, memory drives, removable disc drives,etc., employing connection protocols such as serial advanced technologyattachment (SATA), integrated drive electronics (IDE), IEEE-1394,universal serial bus (USB), fiber channel, small computer systemsinterface (SCSI), etc. The memory drives may further include a drum,magnetic disc drive, magneto-optical drive, optical drive, redundantarray of independent discs (RAID), solid-state memory devices,solid-state drives, etc.

Memory 830 may store a collection of program or database components,including, without limitation, an operating system 832, user interfaceapplication 834, web browser 836, mail server 838, mail client 840,user/application data 842 (for example, any data variables or datarecords discussed in this disclosure), etc. Operating system 832 mayfacilitate resource management and operation of computer system 802.Examples of operating systems 832 include, without limitation, APPLE®MACINTOSH® OS X platform, UNIX platform, Unix-like system distributions(for example, Berkeley Software Distribution (BSD), FreeBSD, NetBSD,OpenBSD, etc.), LINUX distributions (for example, RED HAT®, UBUNTU®,KUBUNTU®, etc.), IBM® OS/2 platform, MICROSOFT® WINDOWS® platform (XP,Vista/7/8, etc.), APPLE® IOS® platform, GOOGLE® ANDROID® platform,BLACKBERRY® OS platform, or the like. User interface 834 may facilitatedisplay, execution, interaction, manipulation, or operation of programcomponents through textual or graphical facilities. For example, userinterfaces may provide computer interaction interface elements on adisplay system operatively connected to computer system 802, such ascursors, icons, check boxes, menus, scrollers, windows, widgets, etc.Graphical user interfaces (GUIs) may be employed, including, withoutlimitation, APPLE® Macintosh® operating systems' AQUA® platform, IBM®OS/2® platform, MICROSOFT® WINDOWS® platform (for example, AERO®platform, METRO® platform, etc.), UNIX X-WINDOWS, web interfacelibraries (for example, ACTIVEX® platform, JAVA® programming language,JAVASCRIPT® programming language, AJAX® programming language, HTML,ADOBE° FLASH° platform, etc.), or the like.

In some embodiments, computer system 802 may implement a web browser 836stored program component, Web browser 836 may be a hypertext viewingapplication, such as MICROSOFT® INTERNET EXPLORER® web browser, GOOGLE®CHROME® web browser, MOZILLA® FIREFOX® web browser, APPLE® SAFARI® webbrowser, etc. Secure web browsing may be provided using HTTPS (securehypertext transport protocol), secure sockets layer (SSL), TransportLayer Security (TLS), etc. Web browsers may utilize facilities such asAJAX, DHTML, ADOBE® FLASH® platform, JAVASCRIPT® programming language,JAVA° programming language, application programming interfaces (APis),etc. In some embodiments, computer system 802 may implement a mailserver 838 stored program component. Mail server 838 may be an Internetmail server such as MICROSOFT® EXCHANGE® mail server, or the like. Mailserver 838 may utilize facilities such as ASP, ActiveX, ANSI C++/C#,MICROSOFT .NET® programming language, CGI scripts, JAVA® programminglanguage, JAVASCRIPT® programming language, PERL® programming language,PHP® programming language, PYTHON® programming language, WebObjects,etc. Mail server 838 may utilize communication protocols such asinternet message access protocol (IMAP), messaging applicationprogramming interface (MAPI), Microsoft Exchange, post office protocol(POP), simple mail transfer protocol (SMTP), or the like. In someembodiments, computer system 802 may implement a mail client 840 storedprogram component. Mail client 840 may be a mail viewing application,such as APPLE MAIL® mail client, MICROSOFT ENTOURAGE® mail client,MICROSOFT OUTLOOK® mail client, MOZILLA THUNDERBIRD® mail client, etc.

In some embodiments, computer system 802 may store user/application data842, such as the data, variables, records, etc. as described in thisdisclosure. Such databases may be implemented as fault-tolerant,relational, scalable, secure databases such as ORACLE® database ORSYBASE® database. Alternatively, such databases may be implemented usingstandardized data structures, such as an array, hash, linked list,struct, structured text file (for example, XML), table, or asobject-oriented databases (for example, using OBJECTSTORE® objectdatabase, POET® object database, ZOPE® object database, etc.). Suchdatabases may be consolidated or distributed, sometimes among thevarious computer systems discussed above in this disclosure. It is to beunderstood that the structure and operation of the any computer ordatabase component may be combined, consolidated, or distributed in anyworking combination.

It will be appreciated that, for clarity purposes, the above descriptionhas described embodiments of the invention with reference to differentfunctional units and processors. However, it will be apparent that anysuitable distribution of functionality between different functionalunits, processors or domains may be used without detracting from theinvention. For example, functionality illustrated to be performed byseparate processors or controllers may be performed by the sameprocessor or controller. Hence, references to specific functional unitsare only to be seen as references to suitable means for providing thedescribed functionality, rather than indicative of a strict logical orphysical structure or organization.

Various embodiments of the invention provide method and system fordiagnosing autonomous vehicles on a current navigation path. The methodand system monitor behavior of an autonomous vehicle to identify ananomaly in one or more navigation parameters associated with theautonomous vehicle. The method and system then perform cross validationto ensure that the anomaly is related to health of the autonomousvehicle. Thereafter, the method and system determine variouscompensating motion parameter using an AI model and quality parametersderived from one or more motion parameters in order to avoid any damageto the autonomous vehicle and/or a resultant injury to people inside theautonomous vehicle.

The specification has described method and system for diagnosingautonomous vehicles on a current navigation path. The illustrated stepsare set out to explain the exemplary embodiments shown, and it should beanticipated that ongoing technological development will change themanner in which particular functions are performed. These examples arepresented herein for purposes of illustration, and not limitation.Further, the boundaries of the functional building blocks have beenarbitrarily defined herein for the convenience of the description.Alternative boundaries can be defined so long as the specified functionsand relationships thereof are appropriately performed. Alternatives(including equivalents, extensions, variations, deviations, etc., ofthose described herein) will be apparent to persons skilled in therelevant art(s) based on the teachings contained herein. Suchalternatives fall within the scope and spirit of the disclosedembodiments.

Furthermore, one or more computer-readable storage media may be utilizedin implementing embodiments consistent with the present disclosure. Acomputer-readable storage medium refers to any type of physical memoryon which information or data readable by a processor may be stored.Thus, a computer-readable storage medium may store instructions forexecution by one or more processors, including instructions for causingthe processor(s) to perform steps or stages consistent with theembodiments described herein. The term “computer-readable medium” shouldbe understood to include tangible items and exclude carrier waves andtransient signals, i.e., be non-transitory. Examples include randomaccess memory (RAM), read-only memory (ROM), volatile memory,nonvolatile memory, hard drives, CD ROMs, DVDs, flash drives, disks, andany other known physical storage media.

It is intended that the disclosure and examples be considered asexemplary only, with a true scope and spirit of disclosed embodimentsbeing indicated by the following claims.

What is claimed is:
 1. A method for diagnosing autonomous vehicles on acurrent navigation path, the method comprising: identifying, by adiagnosis device, anomaly in a set of navigation parameters from aplurality of navigation parameters associated with the autonomousvehicle, wherein each of the set of navigation parameters is above anassociated risk threshold; validating, by the diagnosis device, anomalyidentified for each of the set of navigation parameters; generating, bythe diagnosis device, a set of quality parameters for the set ofnavigation parameters in response to validating anomaly in the set ofnavigation parameters, wherein the set of quality parameters aregenerated from at least one of the plurality of navigation parameters;generating, by the diagnosis device, values of at least one motionparameter associated with the autonomous vehicle based on values of eachof the set of quality parameters fed into a trained ArtificialIntelligence (AI) model; and controlling, by the diagnosis device, theat least one motion parameter based on the generated values for the atleast one motion parameter.
 2. The method of claim 1, furthercomprising: determining a number of instances when the set of navigationparameters crosses the associated risk threshold; comparing, for each ofthe set of navigation parameters, the number of instances with anassociated reoccurrence threshold; identifying a subset of navigationparameters from the set of navigation parameters based on the comparing,wherein each of the subset of navigation parameters is above theassociated reoccurrence threshold; and generating a subset of qualityparameters for the subset of navigation parameters, wherein the subsetof quality parameters are generated based on at least one of theplurality of navigation parameters.
 3. The method of claim 2, whereinanomaly is identified for the subset of navigation parameters, andwherein values of the at least one motion parameter is generated basedon values of the subset of quality parameters fed into the trained AImodel.
 4. The method of claim 1, wherein a value of each of the set ofquality parameters corresponds to an error category from a plurality oferror categories.
 5. The method of claim 4, wherein each of theplurality of error categories comprises corresponding values of the atleast one motion parameter.
 6. The method of claim 5, further comprisingtraining the AI model based on the plurality of error categories and thecorresponding values of the at least one motion parameter.
 7. The methodof claim 1, further comprising generating a trajectory plan for theautonomous vehicle on the current navigation path, in response tocontrolling the at least one motion parameter.
 8. The method of claim 1,further comprising: generating a warning in response to validatinganomaly identified for each of the set of navigation parameters; andrendering the warning to a user of the autonomous vehicle.
 9. The methodof claim 1, further comprising recording the plurality of navigationparameters based on a plurality of sensors within the autonomous vehicleon the current navigation path.
 10. A system for diagnosing autonomousvehicles on a current navigation path, the system comprising: aprocessor; and a memory communicatively coupled to the processor,wherein the memory stores processor instructions, which, on execution,causes the processor to: identify anomaly in a set of navigationparameters from a plurality of navigation parameters associated with theautonomous vehicle, wherein each of the set of navigation parameters isabove an associated risk threshold; validate anomaly identified for eachof the set of navigation parameters; generate a set of qualityparameters for the set of navigation parameters in response tovalidating anomaly in the set of navigation parameters, wherein the setof quality parameters are generated from at least one of the pluralityof navigation parameters; generate values of at least one motionparameter associated with the autonomous vehicle based on values of eachof the set of quality parameters fed into a trained ArtificialIntelligence (AI) model; and control the at least one motion parameterbased on the generated values for the at least one motion parameter. 11.The system of claim 10, wherein the processor instructions further causethe processor to: determine a number of instances when the set ofnavigation parameters crosses the associated risk threshold; compare,for each of the set of navigation parameters, the number of instanceswith an associated reoccurrence threshold; identify a subset ofnavigation parameters from the set of navigation parameters based on thecomparing, wherein each of the subset of navigation parameters is abovethe associated reoccurrence threshold; and generate a subset of qualityparameters for the subset of navigation parameters, wherein the subsetof quality parameters are generated based on at least one of theplurality of navigation parameters.
 12. The system of claim 11, whereinanomaly is identified for the subset of navigation parameters, andwherein values of the at least one motion parameter is generated basedon values of the subset of quality parameters fed into the trained AImodel.
 13. The system of claim 10, wherein a value of each of the set ofquality parameters corresponds to an error category from a plurality oferror categories.
 14. The system of claim 13, wherein each of theplurality of error categories comprises corresponding values of the atleast one motion parameter.
 15. The system of claim 13, wherein theprocessor instructions further cause the processor to train the AI modelbased on the plurality of error categories and the corresponding valuesof the at least one motion parameter.
 16. The system of claim 10,wherein the processor instructions further cause the processor togenerate a trajectory plan for the autonomous vehicle on the currentnavigation path, in response to controlling the at least one motionparameter.
 17. The system of claim 10, wherein the processorinstructions further cause the processor to: generate a warning inresponse to validating anomaly identified for each of the set ofnavigation parameters; and render the warning to a user of theautonomous vehicle.
 18. The system of claim 10, wherein the processorinstructions further cause the processor to record the plurality ofnavigation parameters based on a plurality of sensors within theautonomous vehicle on the current navigation path.
 19. A non-transitorycomputer-readable storage medium having stored thereon, a set ofcomputer-executable instructions causing a computer comprising one ormore processors to perform steps comprising: identifying anomaly in aset of navigation parameters from a plurality of navigation parametersassociated with the autonomous vehicle, wherein each of the set ofnavigation parameters is above an associated risk threshold; validatinganomaly identified for each of the set of navigation parameters;generating a set of quality parameters for the set of navigationparameters in response to validating anomaly in the set of navigationparameters, wherein the set of quality parameters are generated from atleast one of the plurality of navigation parameters; generating valuesof at least one motion parameter associated with the autonomous vehiclebased on values of each of the set of quality parameters fed into atrained Artificial Intelligence (AI) model; and controlling the at leastone motion parameter based on the generated values for the at least onemotion parameter.